
<?php
/**
 * ... Modelo para las consultas y transacciones de los clientes.
 *
 * @package WordPress
 * @since 2.1 or {{@internal Unknown}}}
 *
  * ... Autor: Jordan Campos Delgado
  Fecha: 29/01/2014
 * Bitacora de modificaciones:
  <
  Autor:
  Fecha:
  Descripcion:
  >
 */

function consultaClientesRegistroUbicacion($cliente) {
    
    require_once 'dataModelo.php';    
    $SELECT ="SELECT COUNT(1) AS CANT FROM tbl_UNA_ClienteUbicacion ".
            " WHERE COD_CLIENTE = ".$cliente;
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['Cant'] = utf8_encode($row["CANT"]);
        $existen = $item['Cant'];
    }
    closeConexion(conexion());    
    return $exiten;
}
function agregarClientesRegistroUbi($cliente, $codAgente, $latitud, $longitud, $imagen) {
    
    $conexion = conexion();
    $insert = "BEGIN TRANSACTION  ".
               "BEGIN TRY ".
               " INSERT INTO tbl_UNA_ClienteUbicacion (COD_CLIENTE,COD_AGENTE, LATITUD, LONGITUD, IMAGEN)  ".
               "     VALUES ('$cliente','$codAgente',$latitud, $longitud, '$imagen') ".
               " COMMIT TRANSACTION ".
               "END TRY ".
               "BEGIN CATCH ".
               "     ROLLBACK TRANSACTION ".
               "END CATCH ";
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}
function actualizarClientesRegistroUbicacion($cliente, $codAgente, $latitud, $longitud, $imagen) {
    
    $conexion = conexion();
    $insert = "BEGIN TRANSACTION  ".
               "BEGIN TRY ".
               " UPDATE tbl_UNA_ClienteUbicacion SET LATITUD = ".$latitud.", LONGITUD = ".$longitud.", IMAGEN =".$imagen." ".
               " WHERE COD_CLIENTE = ".$cliente." ".
               " COMMIT TRANSACTION ".
               "END TRY ".
               "BEGIN CATCH ".
               "     ROLLBACK TRANSACTION ".
               "END CATCH ";
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}

function ObtenerPlazo() {// Verificar si no es la tabla tbl_ArticuloClientePlazo

    require_once 'dataModelo.php';
    
    $SELECT = "SELECT TOP 1 tbl_Cliente.PLAZO FROM tbl_Cliente WHERE tbl_Cliente.COD_CLIENTE=" . $_SESSION['IdCliente'];
    

    $rs = executeConexion(conexion(),$SELECT);
    while ($row = eachResulset($rs)) {
        $itemPLAZO = utf8_encode($row["PLAZO"]);
    }
    closeConexion(conexion());

    return $itemPLAZO;
}

function rebajosPorFactura($cliente){
    $cantidad = 0;
   
    require_once 'dataModelo.php';
    $SELECT =
            "SELECT tbl_Cliente.COD_CLIENTE,tbl_Cliente.NOMBRE, tbl_Nomina.COD_COMPANIA,tbl_Nomina.TIPO_DOCUMENTO,   ".
             "tbl_Nomina.NUM_DOCUMENTO,tbl_Nomina.FECHA_FACTURA,tbl_Nomina.FECHA_VENCIMIENTO,(tbl_Nomina.SALDO) MONTO_ORIGINAL,   ".
             "tbl_Nomina.SALDO,case when tbl_Nomina.MORA<= 0 then 0 else tbl_Nomina.MORA end mora,   ".
             "tbl_Nomina.ENTREGADO, tbl_Nomina.EN_TRAMITE,tbl_Nomina.OBSERVACION,   ".
             "tbl_Nomina.COBRADA,tbl_Nomina.PLACA, tbl_Nomina.MONTO_ORIGINAL FROM tbl_Nomina, tbl_Cliente      ".
             "WHERE tbl_Nomina.COD_CLIENTE = tbl_Cliente.COD_CLIENTE and tbl_Cliente.plazo > 1 and    ".
             "tbl_Nomina.COBRADA IS NULL and tbl_Nomina.COD_CLIENTE = '".$_SESSION['IdCliente']." 'ORDER BY tbl_Nomina.COD_COMPANIA,tbl_Nomina.NUM_DOCUMENTO";

    
    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    if (!$rs){ //quiere decir que si trajo algo
        $valido = true;        
    }else{
        $valido = false; 
    }
    closeConexion(conexion());
    
    return $valido;    
}

function validarCobros(){
    $valido = true;
   
    
    require_once 'dataModelo.php';
    $SELECT =
            "SELECT tbl_Cliente.COD_CLIENTE,tbl_Cliente.NOMBRE, tbl_Nomina.COD_COMPANIA,tbl_Nomina.TIPO_DOCUMENTO,  ".
            " tbl_Nomina.NUM_DOCUMENTO,tbl_Nomina.FECHA_FACTURA,tbl_Nomina.FECHA_VENCIMIENTO,(tbl_Nomina.SALDO) MONTO_ORIGINAL,  ".
            " tbl_Nomina.SALDO,case when tbl_Nomina.MORA<= 0 then 0 else tbl_Nomina.MORA end mora,  ".
            " tbl_Nomina.ENTREGADO, tbl_Nomina.EN_TRAMITE,tbl_Nomina.OBSERVACION,  ".
            " tbl_Nomina.COBRADA,tbl_Nomina.PLACA, tbl_Nomina.MONTO_ORIGINAL FROM tbl_Nomina, tbl_Cliente     ".
             "WHERE tbl_Nomina.COD_CLIENTE = tbl_Cliente.COD_CLIENTE and tbl_Cliente.plazo > 1 and   ".
             "tbl_Nomina.COBRADA IS NULL and tbl_Nomina.COD_CLIENTE = '".$_SESSION['IdCliente']." 'ORDER BY tbl_Nomina.COD_COMPANIA,tbl_Nomina.NUM_DOCUMENTO";

    
    $rs = executeConexion(conexion(),$SELECT);
    $valido = false; 
    while ($row = eachResulset($rs)) {
        $valido = true; 
    }
    closeConexion(conexion());
    
    return $valido;    
}

function buscaInicialDiaActual() {
    switch (date("N")) {
        case 1: $dia = "L";
            break;
        case 2: $dia = "K";
            break;
        case 3: $dia = "M";
            break;
        case 4: $dia = "J";
            break;
        case 5: $dia = "V";
            break;
        case 6: $dia = "S";
            break;
        case 7: $dia = "D";
            break;
    }
    return $dia;
}

function listarTodosClientes() {

   $dia = buscaInicialDiaActual();
    
    require_once 'dataModelo.php';
    $SELECT ="SELECT ".
        "tbl_Cliente.VISITADO,tbl_Cliente.COD_CLIENTE,tbl_Cliente.NOMBRE,  ".
        "tbl_Cliente.DIRECCION, tbl_Cliente.TELEFONO, tbl_Cliente.FAX,   ".
        "tbl_Cliente.IV,tbl_Cliente.PLAZO, tbl_Cliente.LIMITE_CREDITO,   ".
        "tbl_Cliente.SALDO, tbl_Cliente.PAGA_DOLAR,tbl_Cliente.COD_TIPOPRECIO,  ". 
        "tbl_OrdenVisita.DIA_VISITA, tbl_OrdenVisita.ORDEN_VISITA,tbl_Cliente.Tipo_Cliente,  ".
        "tbl_Cliente.TRIBUTARIO,tbl_Cliente.Bloqueado  ".
        "FROM tbl_Cliente   ".
        "INNER JOIN tbl_OrdenVisita   ".
        "ON tbl_Cliente.COD_CLIENTE = tbl_OrdenVisita.COD_CLIENTE  ".
        "WHERE COD_AGENTE in('".$_SESSION['codAgente']."')  ".
        "ORDER BY tbl_OrdenVisita.ORDEN_VISITA;";

    $rs = executeConexion(conexion(),$SELECT);
    
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['Visitado'] = utf8_encode($row["VISITADO"]);
        $item['CodCliente'] = utf8_encode($row["COD_CLIENTE"]);
        $item['Nombre'] = utf8_encode($row["NOMBRE"]);
        $item['Telefono'] = utf8_encode($row["TELEFONO"]);
        $item['Fax'] = utf8_encode($row["FAX"]);
        $item['IV'] = utf8_encode($row["IV"]);
        $item['Plazo'] = utf8_encode($row["PLAZO"]);
        $item['LimiteCredito'] = utf8_encode($row["LIMITE_CREDITO"]);
        $item['Saldo'] = utf8_encode($row["SALDO"]);
        $item['PagaDolar'] = utf8_encode($row["PAGA_DOLAR"]);
        $item['CodTipoPrecio'] = utf8_encode($row["COD_TIPOPRECIO"]);
        $item['DiaVisita'] = utf8_encode($row["DIA_VISITA"]);
        $item['OrdenVisita'] = utf8_encode($row["ORDEN_VISITA"]);
        $item['TipoCliente'] = utf8_encode($row["Tipo_Cliente"]);
        $item['Tributario'] = utf8_encode($row["TRIBUTARIO"]);
        $item['Bloqueado'] = utf8_encode($row["Bloqueado"]);
        
        
        array_push($items, $item);
    }
    closeConexion(conexion());

    return $items;
}

function buscaClientesDia($dia) {

       
    if($dia == "")
        $dia = buscaInicialDiaActual();
    if($dia == "T")
         $dia = "";
       
    require_once 'dataModelo.php';
    $SELECT = "SELECT  ".
        "tbl_Cliente.VISITADO,tbl_Cliente.COD_CLIENTE,tbl_Cliente.NOMBRE,  ".
        "tbl_Cliente.DIRECCION, tbl_Cliente.TELEFONO, tbl_Cliente.FAX,   ".
        "tbl_Cliente.IV,tbl_Cliente.PLAZO, tbl_Cliente.LIMITE_CREDITO,   ".
        "tbl_Cliente.SALDO, tbl_Cliente.PAGA_DOLAR,tbl_Cliente.COD_TIPOPRECIO,   ".
        "tbl_OrdenVisita.DIA_VISITA, tbl_OrdenVisita.ORDEN_VISITA,tbl_Cliente.Tipo_Cliente,  ".
        "tbl_Cliente.TRIBUTARIO,tbl_Cliente.Bloqueado  ".
        "FROM tbl_Cliente   ".
        "INNER JOIN tbl_OrdenVisita   ".
        "ON tbl_Cliente.COD_CLIENTE = tbl_OrdenVisita.COD_CLIENTE  ".
        "WHERE tbl_OrdenVisita.DIA_VISITA = '" . $dia . "'  ".
        "AND COD_AGENTE in('" . $_SESSION['codAgente'] . "')  ".
        "AND tbl_Cliente.VISITADO = 0  ".
        "ORDER BY tbl_OrdenVisita.ORDEN_VISITA;";
       
   
    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();      
        
    while ($row = eachResulset($rs)) {
        $item['Visitado'] = utf8_encode($row["VISITADO"]);
        $item['CodCliente'] = utf8_encode($row["COD_CLIENTE"]);
        $item['Nombre'] = utf8_encode($row["NOMBRE"]);
        $item['Direccion'] = utf8_encode($row["DIRECCION"]);
        $item['Telefono'] = utf8_encode($row["TELEFONO"]);
        $item['Fax'] = utf8_encode($row["FAX"]);
        $item['IV'] = utf8_encode($row["IV"]);
        $item['Plazo'] = utf8_encode($row["PLAZO"]);
        $item['LimiteCredito'] = utf8_encode($row["LIMITE_CREDITO"]);
        $item['Saldo'] = utf8_encode($row["SALDO"]);
        $item['PagaDolar'] = utf8_encode($row["PAGA_DOLAR"]);
        $item['CodTipoPrecio'] = utf8_encode($row["COD_TIPOPRECIO"]);
        $item['DiaVisita'] = utf8_encode($row["DIA_VISITA"]);
        $item['OrdenVisita'] = utf8_encode($row["ORDEN_VISITA"]);
        $item['TipoCliente'] = utf8_encode($row["Tipo_Cliente"]);
        $item['Tributario'] = utf8_encode($row["TRIBUTARIO"]);
        $item['Bloqueado'] = utf8_encode($row["Bloqueado"]);
        array_push($items, $item);
    }
    closeConexion(conexion());

    return $items;
}

function buscaClientesVisitados($dia) {

    require_once 'dataModelo.php';
    //Se registra en el array cuantos clientes hay visitados

    if ($dia == "")
        $dia = buscaInicialDiaActual();
    if ($dia == "T")
        $dia = "";

    $SELECT =
            "SELECT COUNT(1) AS CANT ".
            "    FROM tbl_Cliente cl ".
            "    INNER JOIN tbl_OrdenVisita ov  ".
            "            ON cl.COD_CLIENTE = ov.COD_CLIENTE ".
            "            WHERE ov.DIA_VISITA like '%" . $dia . "' ".
            "            AND COD_AGENTE in('" . $_SESSION['codAgente'] . "') ".
            "            AND cl.VISITADO = 1";
    $rs = executeConexion(conexion(),$SELECT);
 
    while ($row = eachResulset($rs)) {
        $item['CantVisitados'] = utf8_encode($row["CANT"]);
        $visitados = $item['CantVisitados'];
    }
    closeConexion(conexion());
    return $visitados;
}

function buscaClientesPendientes($dia) {

    require_once 'dataModelo.php';
    //Se registra en el array cuantos clientes hay visitados

    if ($dia == "")
        $dia = buscaInicialDiaActual();
    if ($dia == "T")
        $dia = "";

    $SELECT =
            "SELECT COUNT(1) AS CANT ".
            "    FROM tbl_Cliente cl ".
            "    INNER JOIN tbl_OrdenVisita ov  ".
            "            ON cl.COD_CLIENTE = ov.COD_CLIENTE ".
            "            WHERE  ".
            "            ov.DIA_VISITA like '%" . $dia . "' AND  ".
            "            COD_AGENTE in('" . $_SESSION['codAgente'] . "') ".
            "           AND cl.VISITADO = 0";
    $rs = executeConexion(conexion(),$SELECT);

    while ($row = eachResulset($rs)) {
        $item['CantPendientes'] = utf8_encode($row["CANT"]);
        $pendientes = $item['CantPendientes'];
    }
    closeConexion(conexion());
    
    return $pendientes;
}

function validarClienteModelo($usuario, $clave) {

    require_once 'dataModelo.php';
    $existe =false;
    $SELECT ="SELECT SQLAddress, CODAgente,SQLAgent,DBName,CODCompania,".
            "CODBodega,NombreAgente,TipoRuta,Factura01,Pedido,".
            "PedidoRecarga,Devolucion, NumClienteNuevo,".
            "NumRecibo,CodLstPrecio,CODBodegaMix,PuertoCOM,".
            "PrintPulgadas,Empresa ,Factura20,Factura22,".
            "Factura30,Factura32,Factura34 FROM tbl_UNA_Usuario ".
            "WHERE Username = '$usuario' AND Password='$clave'";

    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
         $_SESSION['codAgente']         = utf8_encode($row["CODAgente"]);
         $_SESSION['tipoRuta']          = utf8_encode($row["TipoRuta"]);
         $_SESSION['nombreAgente']      = utf8_encode($row["NombreAgente"]);
         $_SESSION['SQLAddress']        = utf8_encode($row["SQLAddress"]);
         $_SESSION['DBName']            = utf8_encode($row["DBName"]);
         $_SESSION['codCompania']       = utf8_encode($row["CODCompania"]);
         $_SESSION['codBodega']         = utf8_encode($row["CODBodega"]);
         $_SESSION['usuario']         = $usuario;
         
         //Lectura de las facturas
         if ($_SESSION['DBName'] == "VENTASCR" || $_SESSION['DBName'] == "VENTASNUMAR")
            {
                $_SESSION['factura01']         = utf8_encode($row["Factura01"]);
                date_default_timezone_set('America/Costa_Rica');
            }
         else
            {
                $_SESSION['factura20']         = utf8_encode($row["Factura20"]);
                $_SESSION['factura22']         = utf8_encode($row["Factura22"]);
                $_SESSION['factura30']         = utf8_encode($row["Factura30"]);
                $_SESSION['factura32']         = utf8_encode($row["Factura32"]);
                $_SESSION['factura34']         = utf8_encode($row["Factura34"]);
                
             
            }
         
         //NumRecibo
         $_SESSION['NumRecibo']         = utf8_encode($row["NumRecibo"]);  
         $_SESSION['pedido']            = utf8_encode($row["Pedido"]);
         $_SESSION['pedidoRecarga']     = utf8_encode($row["PedidoRecarga"]);
         $_SESSION['devolucion']        = utf8_encode($row["Devolucion"]);
         $_SESSION['numClienteNuevo']   = utf8_encode($row["NumClienteNuevo"]);
         $_SESSION['codLstPrecio']      = utf8_encode($row["CodLstPrecio"]);
         $_SESSION['codBodegaMix']      = utf8_encode($row["CODBodegaMix"]);
         $_SESSION['puertoCOM']         = utf8_encode($row["PuertoCOM"]);
         $_SESSION['printPulgadas']     = utf8_encode($row["PrintPulgadas"]);
         $_SESSION['empresa']           = utf8_encode($row["Empresa"]);
        
        $existe =true;
        
    }
    closeConexion(conexion());
    return $existe;
}
/*
  Funcion para agregar un cliente
  Procedimiento almacenado Listo
 */
function agregarClientesNuevos($codCompania, $codAgente,$nombre, $direccion, $telefono, $fax, $limiteCredito,
                              $saldo, $tipoPrecio, $plazo, $iv, $visitado, $pagaDolares, $cobrador, $tipoCliente,
                              $tributario) {
    
    $conexion = conexion();
    
    $insert = "BEGIN TRANSACTION  ".
               "BEGIN TRY ".
               " INSERT INTO tbl_ClienteNuevo (COD_COMPANIA,COD_AGENTE, NOMBRE, DIRECCION, TELEFONO,FAX, UNA_CED_JURIDICA, ".
               " UNA_LIMITE_CREDITO,UNA_SALDO, UNA_COD_TIPO_PRECIO, UNA_PLAZO,UNA_IV, UNA_PAGA_DOLAR, UNA_COD_COBRADOR, ".
               " UNA_TIPO_CLIENTE,UNA_TRIBUTARIO) VALUES ('01','0074','NOMBRE','DIRECCION','TELEFONO','FAX','CEDULA', ".
               " 200000,0,'10',15,'S','N','02','01','NOMBRE TRIBUTARIO');".
               " COMMIT TRANSACTION ".
               "END TRY ".
               "BEGIN CATCH ".
               "     ROLLBACK TRANSACTION ".
               "END CATCH ";
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }else{
    $codCliente='';
    $SELECT = " SELECT TOP 1 COD_CLIENTE FROM tbl_Cliente WHERE COD_AGENTE = ".$codAgente." ORDER BY COD_CLIENTE DESC;";   
    $rs = executeConexion(conexion(),$SELECT);    
    $items = Array();
    while ($row=eachResulset($rs)) {
        $codCliente            = utf8_encode($row["COD_CLIENTE"]);       
        array_push($items, $item);
    }    }
    closeConexion($conexion);
    return $codCliente;
}
function agregarClienteUbicacion($codigoCliente, $codAgente, $Latitud, $longitud,$imagen){
    $conexion = conexion();
    $insert = "BEGIN TRANSACTION  ".
               "BEGIN TRY ".
               " INSERT INTO tbl_OrdenVisita (COD_CLIENTE, COD_AGENTE, LATITUD, LONGITUD, IMAGEN)  ".
               "     VALUES ($codigoCliente, $codAgente, $Latitud, $longitud,$imagen) ".
               " COMMIT TRANSACTION ".
               "END TRY ".
               "BEGIN CATCH ".
               "     ROLLBACK TRANSACTION ".
               "END CATCH ";
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}
function agregarClienteDia($codigoCliente, $dia, $semana, $orden){
    $conexion = conexion();
    $insert = "BEGIN TRANSACTION  ".
               "BEGIN TRY ".
               " INSERT INTO tbl_OrdenVisita (COD_CLIENTE,DIA_VISITA,SEMANA_VISITA,ORDEN_VISITA)  ".
               "     VALUES ($codigoCliente, $dia, $semana, $orden) ".
               " COMMIT TRANSACTION ".
               "END TRY ".
               "BEGIN CATCH ".
               "     ROLLBACK TRANSACTION ".
               "END CATCH ";
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}

function consultaClientesRegistroVisita($cliente, $codAgente, $fecha) {
    
    require_once 'dataModelo.php';
    
    
    //Se registra en el array cuantos clientes hay visitados
   
    $SELECT =
            "SELECT COUNT(1) AS CANT FROM tbl_UNA_ClienteRegistroVisita  ".
            "    WHERE fk_COD_CLIENTE =".$cliente." AND  ".
            "    fk_COD_AGENTE ='".$codAgente."' AND ".
            "    CONVERT(DATE, FECHA_VISITA) = CONVERT(DATE,GETDATE())";
    
    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['CantPendientes'] = utf8_encode($row["CANT"]);
        $pendientes = $item['CantPendientes'];
    }
    closeConexion(conexion());
    
    return $pendientes;
}

function agregarClientesRegistroVisita($cliente, $codAgente, $cmbRazon, $fecha, $hora) {
    
    $conexion = conexion();
    $fechaCompleta = $fecha . " " . $hora;
    $insert = "BEGIN TRANSACTION  ".
               "BEGIN TRY ".
               " INSERT INTO tbl_UNA_ClienteRegistroVisita (fk_COD_CLIENTE,fk_COD_AGENTE,FECHA_VISITA)  ".
               "     VALUES ($cliente,'$codAgente',CONVERT(datetime,'$fechaCompleta',103)) ".
               " INSERT INTO tbl_RegistroVisita(ID_REGISTROVISITA,COD_CLIENTE,COD_AGENTE,COD_RAZON,FECHA,PROCESADO) ".
               "         VALUES(NEWID(),$cliente,'$codAgente','$cmbRazon',CONVERT(datetime,'$fechaCompleta',103),0) ".
               " COMMIT TRANSACTION ".
               "END TRY ".
               "BEGIN CATCH ".
               "     ROLLBACK TRANSACTION ".
               "END CATCH ";
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}

function obtenerMinimo($articulo){
    
   
    require_once 'dataModelo.php';
    $SELECT =
            "SELECT  ".
            "    COD_ARTICULO, UNIDADES, COD_COMPANIA  ".
            "   FROM tbl_ArticuloBodega  ".
            "  where cod_articulo ='$articulo' ".
            "    and COD_BODEGA = '".$_SESSION['codBodega']."'";

    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['unidades'] = utf8_encode($row["UNIDADES"]);
        $unidades = $item['unidades'];
    }
    closeConexion(conexion());
    
    return $unidades;    
}

function insertFaltante($articulo,$cant)
{
    require_once 'dataModelo.php';
    
    $conexion = conexion();
    $dt = new DateTime();
    
    $insert ="INSERT INTO tbl_Faltante (COD_COMPANIA,COD_CLIENTE,COD_ARTICULO,CANTIDAD,FECHA,BODEGA   ".
                                        "VALUES('".$_SESSION['codCompania']."','".$_SESSION['IdCliente']."','".$articulo."',$cant,'".$dt."','".$_SESSION['codBodega']."');";
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function selectFacturaId($plazo)
{
    require_once 'dataModelo.php';
    
    $SELECT = "SELECT   ".
            "tbl_Factura.ID_FACTURA, tbl_Factura.NUM_FACTURA,   ".
            "tbl_Factura.COD_COMPANIA, tbl_Factura.PLAZO,   ".
            "tbl_Factura.TIPO_CAMBIO, COD_CLIENTE ,FECHA  ".
            "FROM tbl_Factura   ".
            "WHERE tbl_Factura.COD_CLIENTE       ='".$_SESSION['IdCliente']."'  ".
            "AND tbl_Factura.PLAZO               ='" .$plazo. "'".
            "AND tbl_Factura.ANULADO             = 0   ".
            "AND tbl_Factura.IMPRESO             = 'P'  ".
            "AND	COD_AGENTE                      = '".$_SESSION['codAgente']."';";

    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
            $item['FacturaId'] = utf8_encode($row["ID_FACTURA"]);
        else
            $item['FacturaId'] = utf8_encode(mssql_guid_string($row["ID_FACTURA"]));
        $factura            = $item['FacturaId'];
    }
    closeConexion(conexion());
    
    return $factura; 
    
    
} 

function selectCompania()
{
    require_once 'dataModelo.php';
    $SELECT = "SELECT tbl_Compania.COD_COMPANIA, tbl_Compania.NOMBRE,tbl_Compania.CEDULA,tbl_Compania.IV  ".
            "    FROM tbl_Compania ".
            "    WHERE COD_COMPANIA = '".$_SESSION['codCompania']."';";

    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['CodCompania']  = utf8_encode($row["COD_COMPANIA"]);
        $codCompania          = $item['CodCompania'];
    }
    closeConexion(conexion());
    
    return $codCompania; 
    
    
} 

function insertFactura($strNumFactura, $intPlazo)
{
   require_once 'dataModelo.php';
   $conexion   = conexion();
    
    $insert ="INSERT INTO tbl_Factura (ID_FACTURA,NUM_FACTURA,COD_COMPANIA,COD_CLIENTE,COD_AGENTE,COD_BODEGA,FECHA,  ".
                "TOTAL_BRUTO,TOTAL_DESC,IV,TOTAL_NETO,PLAZO,ANULADO,IMPRESO,TIPO_CAMBIO,PROCESADO)   ".
                "VALUES (NEWID(),'" . $strNumFactura . "','".$_SESSION['codCompania']."','".$_SESSION['IdCliente']."',  ".
                "'".$_SESSION['codAgente']."','".$_SESSION['codBodega']."',GETDATE(),0,0,0,0," . $intPlazo . ",0,'P',0,0);";
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function selectArticuloBonificado($articulo)
{
    require_once 'dataModelo.php';
    
    $SELECT = "SELECT tbl_Bonificado.COD_ARTICULO, tbl_Bonificado.CANT_VENTA, ".
	      " tbl_Bonificado.CANT_BONIFICADA  ".
              "  FROM tbl_Bonificado  ".
              "  WHERE tbl_Bonificado.BONIFICADO='".$articulo."' and cod_cliente='".$_SESSION['IdCliente']."' ".
              "      and COD_BODEGA ='".$_SESSION['codBodega']."';";

    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['CodArticulo']    = utf8_encode($row["COD_ARTICULO"]);
        $item['CantVenta']      = utf8_encode($row["CANT_VENTA"]);
        
        $codArticulo            = $item['CodArticulo'];
        array_push($items, $item);
    }
    closeConexion(conexion());
    
    return $items;
}

function selectArticuloBonificable($articulo)
{
    require_once 'dataModelo.php';
    //$dt = new DateTime();
    $SELECT ="SELECT tbl_Bonificado.COD_ARTICULO,tbl_Bonificado.BONIFICADO, ".
		"tbl_Bonificado.CANT_VENTA,tbl_Bonificado.CANT_BONIFICADA ".
		"FROM tbl_Bonificado  ".
		"WHERE tbl_Bonificado.COD_ARTICULO='".$articulo."'  ".
		"and cod_cliente='".$_SESSION['IdCliente']."' ".
                "and COD_BODEGA ='".$_SESSION['codBodega']."';";

    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['CodArticulo']    = utf8_encode($row["COD_ARTICULO"]);
        $item['Bonificado']     = utf8_encode($row["BONIFICADO"]);
        $item['CantVenta']      = utf8_encode($row["CANT_VENTA"]);
        $item['CantBonificada'] = utf8_encode($row["CANT_BONIFICADA"]);
        
        
        array_push($items, $item);
    }
    closeConexion(conexion());
    
    return $items;
}

function selectExistenciaFact($strIDFactura,$strArticulo)
{
    require_once 'dataModelo.php';
    
    $SELECT = "SELECT tbl_FacturaDetalle.CANTIDAD  ".
            "    FROM tbl_FacturaDetalle  ".
            "    WHERE tbl_FacturaDetalle.ID_FACTURA='".$strIDFactura."'  ".
            "    AND tbl_FacturaDetalle.COD_ARTICULO = '".$strArticulo."';";

    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['Cantidad']  = utf8_encode($row["CANTIDAD"]);
        $cantidad          = $item['Cantidad'];
    }
    closeConexion(conexion());
    
    return $cantidad; 
    
    
}

function deleteArticuloFacturaDetalle($strIDFactura,$strCODArticulo)
{
    require_once 'dataModelo.php';
    $conexion   = conexion();
    
    $delete ="DELETE FROM tbl_FacturaDetalle  ".
             "   WHERE tbl_FacturaDetalle.ID_FACTURA='".$strIDFactura."'  ".
             "   AND tbl_FacturaDetalle.COD_ARTICULO='".$strCODArticulo."';";
    
   
    if (!executeConexion($conexion, $delete)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function updateArticuloBodegaCantidad($strCODArticulo,$cant)
{
    //Diferente al updateArticuloBodegaCantidad2 Modifica Cantidad Disponible en Bodega despues de Realizar Factura
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="UPDATE tbl_ArticuloBodega  ".
             "   SET tbl_ArticuloBodega.UNIDADES = ".$cant."  ".
             "   WHERE tbl_ArticuloBodega.COD_ARTICULO='".$strCODArticulo."' ".
             "   AND tbl_ArticuloBodega.COD_BODEGA = '".$_SESSION['codBodega']."';";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function updateArticuloBodegaCantidad2($strCODArticulo,$cant)
{
    //Diferente al updateArticuloBodegaCantidad xq Modifica Cantidad Disponible en Bodega Durante Anulacion de Documento
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="UPDATE tbl_ArticuloBodega  ".
             "   SET tbl_ArticuloBodega.UNIDADES = tbl_ArticuloBodega.UNIDADES + ".$cant."  ".
             "   WHERE tbl_ArticuloBodega.COD_ARTICULO='".$strCODArticulo."' ".
             "   AND tbl_ArticuloBodega.COD_BODEGA = '".$_SESSION['codBodega']."';";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function ActCantidadBonificadoFact($strIDFactura,$strCODArticulo,$strCantidad)
{
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="Update tbl_FacturaDetalle  ".
             "       set tbl_FacturaDetalle.CANTIDAD= ".$strCantidad." ".
             "   WHERE tbl_FacturaDetalle.ID_FACTURA='".$strIDFactura."'  ".
             "   AND tbl_FacturaDetalle.COD_ARTICULO = '".$strCODArticulo.";";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function selectArticuloFacturaDetalle($strIDFactura, $strCODArticulo)
{
    require_once 'dataModelo.php';
    
    $SELECT = " SELECT tbl_FacturaDetalle.ID_FACTURADETALLE,tbl_FacturaDetalle.CANTIDAD ".
               " FROM tbl_Factura, tbl_FacturaDetalle  ".
               "WHERE tbl_Factura.COD_COMPANIA='".$_SESSION['codCompania']."'  ".
               "  AND tbl_Factura.ID_FACTURA='".$strIDFactura."'  ".
               "  AND tbl_Factura.ID_FACTURA = tbl_FacturaDetalle.ID_FACTURA  ".
               "  AND tbl_FacturaDetalle.COD_ARTICULO='".$strCODArticulo."'";

    
    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
            $item['FacDetalle']   = utf8_encode($row["ID_FACTURADETALLE"]);
        else
            $item['FacDetalle']   = utf8_encode(mssql_guid_string($row["ID_FACTURADETALLE"]));
           
        $item['Cantidad']     = utf8_encode($row["CANTIDAD"]);
        
        
        array_push($items, $item);
    }
    closeConexion(conexion());
    
    return $items;
    
}

function selectExistencia($strArticulo)
{
    
    require_once 'dataModelo.php';
    
    $SELECT =
            "select unidades  ".
            "   from tbl_ArticuloBodega  ".
            "  where cod_articulo= '".$strArticulo."' ".
            "    and COD_BODEGA  = '".$_SESSION['codBodega']."';";

    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['Unidades']  = utf8_encode($row["unidades"]);
        $unidades          = $item['Unidades'];
    }
    closeConexion(conexion());
    
    return $unidades; 
    
    
}

function insertFacturaDetalle($strIDFactura, $strCODArticulo, $intCantidadUnidades, $fltPrecio, $fltMontoBruto, 
                              $fltIV, $fltPorcentajeDescFijo, $fltMontoDescFijo, $fltPorcentajeDescPromocion, 
                              $fltMontoDescPromocion, $fltPorcentajeDescCompetencia, $fltMontoDescCompetencia)
{

    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $insert ="INSERT INTO tbl_FacturaDetalle (ID_FACTURADETALLE,ID_FACTURA,COD_ARTICULO,CANTIDAD,PRECIO,MONTO,IV,DESC_FIJO, ".
                "						MONTO_FIJO,DESC_PROMOCION,MONTO_PROMOCION,DESC_COMPETENCIA, ".
	     " 							MONTO_COMPETENCIA,FECHA)  ".
	     "VALUES (NEWID(),'".$strIDFactura."','".$strCODArticulo."',".$intCantidadUnidades.",".$fltPrecio.",".$fltMontoBruto.", ".
             "    ".$fltIV.",".$fltPorcentajeDescFijo.",".$fltMontoDescFijo.",".$fltPorcentajeDescPromocion.", ".
             "    ".$fltMontoDescPromocion.",".$fltPorcentajeDescCompetencia.",".$fltMontoDescCompetencia.",GETDATE());";
    
           
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
    updateArticuloBodega($strCODArticulo,$intCantidadUnidades);

}

function selectArticulosBodega($articulo)
{
    
    require_once 'dataModelo.php';
    
    $SELECT =
            "SELECT COD_ARTICULO, UNIDADES, COD_COMPANIA  ".
            "    FROM tbl_ArticuloBodega  ".
            "    WHERE COD_BODEGA = '".$_SESSION['codBodega']."';";

    
    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['CodArticulo']  = utf8_encode($row["COD_ARTICULO"]);
        $item['Unidades']     = utf8_encode($row["UNIDADES"]);
        $item['CodCompania']  = utf8_encode($row["COD_COMPANIA"]);
        
        
        
        array_push($items, $item);
    }
    closeConexion(conexion());
    
    return $items;
}

function updateFacturaTipoCambio($strIDFactura,$fltTipoCambio)
{
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="UPDATE tbl_Factura SET tbl_Factura.TIPO_CAMBIO=".$fltTipoCambio."  ".
              "WHERE tbl_Factura.ID_FACTURA='".$strIDFactura."';";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function selectNUMPedido($plazo)
{   
    require_once 'dataModelo.php';
    $SELECT = "SELECT top 1 tbl_Pedido.NUM_PEDIDO ". 
                "FROM tbl_Pedido  ".
                "WHERE tbl_Pedido.COD_CLIENTE='".$_SESSION['IdCliente']."' ".
                "AND tbl_Pedido.PLAZO='".$plazo."' ".
                "AND tbl_Pedido.ANULADO=0  ".
                "AND tbl_Pedido.IMPRESO='P' ".
                "order by tbl_Pedido.NUM_PEDIDO desc;";
    
     ?>
        <script>
        var i = "<?php echo $SELECT ?>";
        //alert(i);
        </script>
        <?php

    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['PedidoId'] = utf8_encode($row["NUM_PEDIDO"]);
        $pedido           = $item['PedidoId'];
    }
    closeConexion(conexion());
    
    return $pedido; 
    
    
} 

function insertPedido($strNumPedido,$intPlazo,$strPlaca)
{
   
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    
    $insert= "INSERT INTO tbl_Pedido(NUM_PEDIDO,COD_CLIENTE,COD_AGENTE,FECHA,TOTAL_BRUTO,TOTAL_DESC,IV,TOTAL_NETO, ".
            "PLAZO,ANULADO,IMPRESO,TIPO_CREDITO,PLACA,TIPO_CAMBIO,PROCESADO) ".
            "VALUES ('".$strNumPedido."','".$_SESSION['IdCliente']."','".$_SESSION['codAgente']."',GETDATE(),0,0,0,0,$intPlazo,0,'P','','".$strPlaca."',0,0)";
    
 
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function selectArticuloPedidoDetalle($strNUMPedido,$strCODArticulo)
{
    

    require_once 'dataModelo.php';
    
    $SELECT =
            "SELECT tbl_PedidoDetalle.ID_PEDIDODETALLE, tbl_PedidoDetalle.CANTIDAD ".
            "FROM tbl_PedidoDetalle ". 
            "WHERE tbl_PedidoDetalle.NUM_PEDIDO='" . $strNUMPedido . "' ".
            "AND tbl_PedidoDetalle.COD_ARTICULO='" .$strCODArticulo . "';";

    
    
    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['CodArticulo']  = utf8_encode($row["ID_PEDIDODETALLE"]);
        $item['Unidades']     = utf8_encode($row["CANTIDAD"]);
        
        array_push($items, $item);
    }
    closeConexion(conexion());
    
    return $items;
}

function deleteArticuloPedidoDetalle($strNUMPedido,$strCODArticulo)
{
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $delete ="DELETE FROM tbl_PedidoDetalle ".
                "WHERE tbl_PedidoDetalle.NUM_PEDIDO='" . $strNUMPedido . "' ".
                "AND tbl_PedidoDetalle.COD_ARTICULO='" . $strCODArticulo . "';";
    
    if (!executeConexion($conexion, $delete)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function selectExistenciaPedxGrupo($strNUMPedido,$strGrupo)
{
    

    require_once 'dataModelo.php';
    
    $SELECT =
            "SELECT tbl_PedidoDetalle.CANTIDAD,tbl_Articulo.COD_GRUPOBONIFICA ".
            "FROM tbl_PedidoDetalle, tbl_Articulo ".
            "WHERE tbl_PedidoDetalle.COD_ARTICULO = tbl_Articulo.COD_ARTICULO ".
            "AND tbl_PedidoDetalle.NUM_PEDIDO='".$strNUMPedido."' ".
            "AND tbl_Articulo.COD_GRUPOBONIFICA = '".$strGrupo."';";

    
    $rs = executeConexion(conexion(),$SELECT);
    while ($row = eachResulset($rs)) {
        $item['Cantidad']  = utf8_encode($row["CANTIDAD"]);
        $item['GrupoBonifica']  = utf8_encode($row["COD_GRUPOBONIFICA"]);
        $cantidad          = $item['Cantidad'];
                     
    }
    closeConexion(conexion());
    
    return $cantidad; 
}

function selectExistenciaPed($strIDPedido,$strArticulo)
{
    

    require_once 'dataModelo.php';
    
    $SELECT = "SELECT tbl_PedidoDetalle.CANTIDAD  ".
            "    FROM tbl_PedidoDetalle  ".
            "    WHERE tbl_PedidoDetalle.NUM_PEDIDO='".$strIDPedido."'  ".
            "    AND tbl_PedidoDetalle.COD_ARTICULO = '".$strArticulo."';";

    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['Cantidad']  = utf8_encode($row["CANTIDAD"]);
        $cantidad          = $item['Cantidad'];
    }
    closeConexion(conexion());
    
    return $cantidad; 
    
    
}

function ActCantidadBonificadoPed($strIDPedido,$strCODArticulo,$strCantidad)
{
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="Update tbl_PedidoDetalle  ".
             "       set tbl_PedidoDetalle.CANTIDAD= ".$strCantidad." ".
             "   WHERE tbl_PedidoDetalle.NUM_PEDIDO='".$strIDPedido."'  ".
             "   AND tbl_PedidoDetalle.COD_ARTICULO = '".$strCODArticulo."';";
    
    
   
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function insertPedidoDetalle($strNUMPedido, $strCODCompania, $strCODArticulo, $intCantidadUnidades, $fltPrecio, $fltMonto, 
                            $fltIV, $fltPorcentajeDescFijo, $fltMontoDescFijo, $fltPorcentajeDescPromocion, $fltMontoDescPromocion, 
                            $fltPorcentajeDescCompetencia, $fltMontoDescCompetencia, $strBonificado)
{

    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
        $insert = "INSERT INTO tbl_PedidoDetalle (ID_PEDIDODETALLE,NUM_PEDIDO,COD_COMPANIA,COD_ARTICULO,CANTIDAD,PRECIO,MONTO,".
            "IV,DESC_FIJO,MONTO_FIJO,DESC_PROMOCION,MONTO_PROMOCION,DESC_COMPETENCIA,MONTO_COMPETENCIA,FECHA,BONIFICADO) ".
            "VALUES (NEWID(),'" .$strNUMPedido. "','" .$strCODCompania . "','" .$strCODArticulo. "',".
            "".$intCantidadUnidades. "," .$fltPrecio. "," .$fltMonto. "," .$fltIV. "," .$fltPorcentajeDescFijo. ",".
            "".$fltMontoDescFijo. "," .$fltPorcentajeDescPromocion. "," .$fltMontoDescPromocion. ",".
            "".$fltPorcentajeDescCompetencia. "," .$fltMontoDescCompetencia. ",GETDATE(),'" .$strBonificado."');";
 
    
          

    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
    updateArticuloBodega($strCODArticulo,$intCantidadUnidades);

}

function updatePedidoTipoCambio($strIDPedido,$fltTipoCambio)
{
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="UPDATE tbl_Pedido SET tbl_Pedido.TIPO_CAMBIO=".$fltTipoCambio."  ".
              "WHERE tbl_Pedido.NUM_PEDIDO='".$strIDPedido."';";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function selectMontoPedDetalle($strIDPedido,$strArticulo)
{
    
    require_once 'dataModelo.php';
    
    $SELECT = "SELECT SUM(tbl_PedidoDetalle.MONTO + tbl_PedidoDetalle.IV - tbl_PedidoDetalle.MONTO_FIJO - tbl_PedidoDetalle.MONTO_PROMOCION - tbl_PedidoDetalle.MONTO_COMPETENCIA) AS Monto ".
            "FROM tbl_PedidoDetalle ".
            "WHERE tbl_PedidoDetalle.NUM_PEDIDO='".$strIDPedido."' ". 
            "AND tbl_PedidoDetalle.COD_ARTICULO = '".$strArticulo."';";

    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['Cantidad']  = utf8_encode($row["Monto"]);
        $cantidad          = $item['Cantidad'];
    }
    closeConexion(conexion());
    
    return $cantidad; 
    
    
}

function consultaCantDetalles($strIDPedido)
{
    
    require_once 'dataModelo.php';
    
    $SELECT = "SELECT count(1) Cantidad FROM tbl_PedidoDetalle WHERE tbl_PedidoDetalle.NUM_PEDIDO='".$strIDPedido."';";

    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['Cantidad']  = utf8_encode($row["Cantidad"]);
        $cantidad          = $item['Cantidad'];
    }
    closeConexion(conexion());
    
    return $cantidad; 
    
    
}

function updatePedidoEstado($strIDPedido)
{
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="UPDATE tbl_Pedido SET tbl_Pedido.ANULADO=1 WHERE tbl_Pedido.NUM_PEDIDO='".$strIDPedido."';";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function agregarArticuloCompetencia($codArticulo,$precio,$intVisible)
{
    
    require_once 'dataModelo.php';
    $conexion   = conexion();
    
    $intVisible = $intVisible == 1 ? $intVisible :0;
       
    $insert= "INSERT INTO tbl_RegistroCompetencia (idRegistroCompetencia,COD_ARTICULO,COD_CLIENTE,PRECIO,FECHA,VISIBLE) ".
             "VALUES (NEWID(),'" . $codArticulo . "','".$_SESSION['IdCliente']."','" . $precio . "',GETDATE(), " . $intVisible . ")";
    
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}

function buscarRazonesDevolucion()
{
    
    require_once 'dataModelo.php';
    
    $SELECT = "SELECT tbl_RazonDevolucion.COD_RAZON,tbl_RazonDevolucion.COD_COMPANIA,tbl_RazonDevolucion.DESCRIPCION ".
              " from tbl_RazonDevolucion order by DESCRIPCION asc;";

    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['CodRazon']    = utf8_encode($row["COD_RAZON"]);
        $item['CodCompania']      = utf8_encode($row["COD_COMPANIA"]);
        $item['Descripcion']      = utf8_encode($row["DESCRIPCION"]);
        
        array_push($items, $item);
    }
    closeConexion(conexion());
    
    return $items;
}

function selectNUMDevolucion($strNumDevol)
{
    
    require_once 'dataModelo.php';
    
    $SELECT = "SELECT tbl_Devolucion.NUM_DEVOLUCION ".
              "  FROM tbl_Devolucion ".
              "  WHERE tbl_Devolucion.COD_CLIENTE='".$_SESSION['IdCliente']."' ".
              "  AND tbl_Devolucion.FECHA = convert(DATE, GETDATE()) ".
              "  AND tbl_Devolucion.ANULADO=0 ".
              "  AND tbl_Devolucion.NUM_DEVOLUCION='".$strNumDevol."' ".
              "  AND tbl_Devolucion.IMPRESO='P';";

    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['NumDevolucion']    = utf8_encode($row["NUM_DEVOLUCION"]);
                
        array_push($items, $item);
    }
    closeConexion(conexion());
    
    return $item['NumDevolucion'];
}

function insertDevolucion($strNumDevol)
{
    require_once 'dataModelo.php';
    $conexion   = conexion();
    
    $intVisible = $intVisible == 1 ? $intVisible :0;
       
    $insert= "INSERT INTO tbl_Devolucion ".
                "(NUM_DEVOLUCION,COD_COMPANIA,COD_CLIENTE,COD_AGENTE,BODEGA,FECHA,ANULADO,PROCESADO,IMPRESO) ".
                "VALUES ('".$strNumDevol."','".$_SESSION['codCompania']."',".$_SESSION['IdCliente'].",'".$_SESSION['codAgente']."','".$_SESSION['codBodega']."',convert(DATE, GETDATE()),0,0,'P');";
    
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}

function selectArticuloDevolucionDetalle()
{
    require_once 'dataModelo.php';
    
    
    $SELECT = "SELECT tbl_DevolucionDetalle.ID_DEVOLUCIONDETALLE, tbl_DevolucionDetalle.CANTIDAD ".
              "  FROM tbl_DevolucionDetalle ".
              "  WHERE tbl_DevolucionDetalle.NUM_DEVOLUCION='".$strNUMDevolucion."' ".
              "  AND tbl_DevolucionDetalle.COD_ARTICULO='".$strCODArticulo."';";

    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['IdDevolucionDetalle']    = mssql_guid_string($row["ID_DEVOLUCIONDETALLE"]);
        $item['Cantidad']    = utf8_encode($row["CANTIDAD"]);       
        array_push($items, $item);
        
    }
    closeConexion(conexion());
    
    return $items;
    
}

function insertDevolucionDetalle($strNumeroDevol, $codigoArticulo, $cboRazon, $intCantidadUnidades)
{
    require_once 'dataModelo.php';
    $conexion   = conexion();
    
    $intVisible = $intVisible == 1 ? $intVisible :0;
       
    $insert= "INSERT INTO tbl_DevolucionDetalle (NUM_DEVOLUCION,COD_ARTICULO,COD_RAZON,CANTIDAD,COD_COMPANIA) ".
             " VALUES ('".$strNumeroDevol."','".$codigoArticulo."','".$cboRazon."',".$intCantidadUnidades.",'".$_SESSION['codCompania']."');";
    
    
    if (!executeConexion($conexion, $insert)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);   
    
}

function selectDevolucionesDetalle($strNumeroDevol)
{
    require_once 'dataModelo.php';
    
    
    $SELECT = "SELECT tbl_Articulo.COD_ARTICULO, tbl_Articulo.DESCRIPCION, tbl_Articulo.FACTOR, SUM(tbl_DevolucionDetalle.CANTIDAD) AS CANTIDAD,tbl_DevolucionDetalle.COD_RAZON ".
              "  FROM tbl_Devolucion,tbl_DevolucionDetalle, tbl_Articulo ".
              "  WHERE tbl_Devolucion.NUM_DEVOLUCION='".$strNumeroDevol."' ".
              "  AND tbl_Devolucion.NUM_DEVOLUCION = tbl_DevolucionDetalle.NUM_DEVOLUCION ".
              "  AND tbl_DevolucionDetalle.COD_ARTICULO = tbl_Articulo.COD_ARTICULO ".
              "  GROUP BY tbl_Articulo.COD_ARTICULO, tbl_Articulo.DESCRIPCION, tbl_Articulo.FACTOR,tbl_DevolucionDetalle.COD_RAZON;";

    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['CodArticulo']    = utf8_encode($row["COD_ARTICULO"]);
        $item['Descripcion']    = utf8_encode($row["DESCRIPCION"]);
        $item['Factor']         = utf8_encode($row["FACTOR"]);
        $item['Cantidad']       = utf8_encode($row["CANTIDAD"]);
        $item['CodRazon']       = utf8_encode($row["COD_RAZON"]);
        array_push($items, $item);
        
    }
    closeConexion(conexion());
    
    return $items;
    
}

function updateFacturaPlazoAContado($strIDFactura)
{
    require_once 'dataModelo.php';
    $conexion   = conexion();
    
    $update ="UPDATE tbl_Factura SET tbl_Factura.PLAZO=1 WHERE tbl_Factura.ID_FACTURA='$strIDFactura';";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function FacturasACancelarContado()
{
    require_once 'dataModelo.php';
    
    
    $SELECT = "SELECT tbl_factura.COD_CLIENTE,tbl_factura.COD_COMPANIA,tbl_factura.COD_AGENTE,'FR' AS TIPO_DOCUMENTO,tbl_factura.NUM_FACTURA, ".
                "tbl_factura.FECHA,tbl_factura.TOTAL_NETO,'CANCELACION CONTADO' AS DESCRIPCION FROM tbl_factura ".
                "WHERE tbl_factura.COD_AGENTE='0074' ".
                "AND tbl_factura.COD_CLIENTE='617426' ".
                "and num_factura not in (select num_recibo from tbl_recibo where cod_agente='".$_SESSION['codAgente']."' and cod_cliente='".$_SESSION['IdCliente']."')and tbl_factura.ANULADO='0';";

    $rs = executeConexion(conexion(),$SELECT);
    $items = Array();
    while ($row = eachResulset($rs)) {
        $item['CodCliente']     = utf8_encode($row["COD_CLIENTE"]);
        $item['CodCompania']    = utf8_encode($row["COD_COMPANIA"]);
        $item['CodAgente']      = utf8_encode($row["COD_AGENTE"]);
        $item['TipoDocumento']  = utf8_encode($row["TIPO_DOCUMENTO"]);
        $item['NumFactura']     = utf8_encode($row["NUM_FACTURA"]);
        $item['Fecha']          = utf8_encode($row["FECHA"]);
        $item['TotalNeto']      = utf8_encode($row["TOTAL_NETO"]);
        $item['Descripcion']    = utf8_encode($row["DESCRIPCION"]);
        array_push($items, $item);
        
    }
    closeConexion(conexion());
    
    return $items;
}

function selectTotalesRecibos($strNumRecibo, $strTipo)
{
    require_once 'dataModelo.php';
    
    $SELECT = "SELECT sum(monto)Total from tbl_recibodetalle where num_recibo='$strNumRecibo' and tipo_cobro='$strTipo';";
 
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $total  = utf8_encode($row["Total"]);                
    }
    closeConexion(conexion());
    
    return $total;
}

function selectActEncabezadoRecibos($strNumRecibo, $strTotal, $strDiferencia)
{
    require_once 'dataModelo.php';
    $conexion   = conexion();
    
    $update ="Update tbl_recibo set total=$strTotal, diferencia=$strDiferencia where num_recibo='$strNumRecibo';";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}

function UpdateNumPedido()
{
    require_once 'dataModelo.php';
    $conexion   = conexion();
    $_SESSION['pedido'] +=1; 
    $update ="update tbl_una_usuario set pedido = '".$_SESSION['pedido'] ."' where CODAgente = '".$_SESSION['codAgente']."';";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}
function selectNUMPedidoPorCodAgente()
{       
    require_once 'dataModelo.php';
    $SELECT = "select pedido from tbl_una_usuario where CODAgente = '".$_SESSION['codAgente']."';";
     
    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['PedidoId'] = utf8_encode($row["pedido"]);
        $pedido           = $item['PedidoId'];
         
    }
    closeConexion(conexion());
    
    return $pedido; 
    
    
}

function UpdateNumFactura()
{
    require_once 'dataModelo.php';
    $conexion   = conexion();
         
    //Lectura de las facturas
    if ($_SESSION['DBName'] == "VENTASCR" || $_SESSION['DBName'] == "VENTASNUMAR")
    {
        $_SESSION['factura01'] += 1;
        $update ="update tbl_una_usuario set factura01 = '".$_SESSION['factura01'] ."' where CODAgente = '".$_SESSION['codAgente']."';";
        
    }
    else
    {
        switch ($_SESSION['codCompania']) {
            case "20":
                $_SESSION['factura20'] += 1;
                $update ="update tbl_una_usuario set factura20 = '".$_SESSION['factura20'] ."' where CODAgente = '".$_SESSION['codAgente']."';";
            break;
            case "22":
                $_SESSION['factura22'] += 1;
                $update ="update tbl_una_usuario set factura22 = '".$_SESSION['factura22'] ."' where CODAgente = '".$_SESSION['codAgente']."';";
            break;
            case "30":
                $_SESSION['factura30'] += 1;
                $update ="update tbl_una_usuario set factura30 = '".$_SESSION['factura30'] ."' where CODAgente = '".$_SESSION['codAgente']."';";
            break;
            case "32":
                $_SESSION['factura32'] += 1;
                $update ="update tbl_una_usuario set factura32 = '".$_SESSION['factura32'] ."' where CODAgente = '".$_SESSION['codAgente']."';";
            break;
            case "34":
                $_SESSION['factura34'] += 1;
                $update ="update tbl_una_usuario set factura34 = '".$_SESSION['factura34'] ."' where CODAgente = '".$_SESSION['codAgente']."';";
            break;
        }        
        
    }
    
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
}

function selectNUMFacturaPorCodAgente()
{       
    require_once 'dataModelo.php';
    $SELECT = "select pedido from tbl_una_usuario where CODAgente = '".$_SESSION['codAgente']."';";
    if ($_SESSION['DBName'] == "VENTASCR" || $_SESSION['DBName'] == "VENTASNUMAR")
    {
        $SELECT = "select factura01 as factura from tbl_una_usuario where CODAgente = '".$_SESSION['codAgente']."';";
        
    }
    else
    {
        switch ($_SESSION['codCompania']) {
            case "20":
                $SELECT = "select factura20 as factura from tbl_una_usuario where CODAgente = '".$_SESSION['codAgente']."';";
            break;
            case "22":
                $SELECT = "select factura22 as factura from tbl_una_usuario where CODAgente = '".$_SESSION['codAgente']."';";
            break;
            case "30":
                $SELECT = "select factura30 as factura from tbl_una_usuario where CODAgente = '".$_SESSION['codAgente']."';";
            break;
            case "32":
                $SELECT = "select factura32 as factura from tbl_una_usuario where CODAgente = '".$_SESSION['codAgente']."';";
            break;
            case "34":
                $SELECT = "select factura34 as factura from tbl_una_usuario where CODAgente = '".$_SESSION['codAgente']."';";
            break;
        }        
        
    } 
    
    $rs = executeConexion(conexion(),$SELECT);
    
    while ($row = eachResulset($rs)) {
        $item['NumFactura'] = utf8_encode($row["factura"]);
        $factura           = $item['NumFactura'];
         
    }
    closeConexion(conexion());
    
    return $factura; 
    
    
}

function updateArticuloDetallePedido($strPedido,$strCodArticulo,$cant,$unidadesAnterior,$fltMontoBruto,$fltMontoDescFijo,$fltMontoDescPromocion,$fltMontoDescCompetencia)
{
    //Diferente al updateArticuloBodegaCantidad2 Modifica Cantidad Disponible en Bodega despues de Realizar Factura
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="UPDATE tbl_PedidoDetalle SET tbl_PedidoDetalle.CANTIDAD = $cant , ".
	     "tbl_PedidoDetalle.MONTO = $fltMontoBruto, ".
             "tbl_PedidoDetallE.MONTO_FIJO = $fltMontoDescFijo, ".
             "tbl_PedidoDetalle.MONTO_PROMOCION = $fltMontoDescPromocion, ".
             "tbl_PedidoDetalle.MONTO_COMPETENCIA = $fltMontoDescCompetencia ".
             "WHERE tbl_PedidoDetalle.NUM_PEDIDO = '$strPedido' ".
             "AND tbl_PedidoDetalle.COD_ARTICULO = '$strCodArticulo';";
    
           
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
    updateArticuloBodega($strCodArticulo,$cant - $unidadesAnterior);
    
}

function updateArticuloBodega($strCodArticulo,$diferencia)
{
    //Diferente al updateArticuloBodegaCantidad2 Modifica Cantidad Disponible en Bodega despues de Realizar Factura
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="UPDATE tbl_ArticuloBodega SET UNIDADES =  UNIDADES - $diferencia ". 
             "   WHERE COD_BODEGA='".$_SESSION['codBodega']."' ".
             "   AND COD_ARTICULO = '$strCodArticulo';";
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
}

function updateArticuloDetalleFactura($strIdFactura,$strCodArticulo,$cant,$unidadesAnterior,$fltMontoBruto,$fltMontoDescFijo,$fltMontoDescPromocion,$fltMontoDescCompetencia)
{
    //Diferente al updateArticuloBodegaCantidad2 Modifica Cantidad Disponible en Bodega despues de Realizar Factura
    
    require_once 'dataModelo.php';
    
    $conexion   = conexion();
    
    $update ="UPDATE tbl_FacturaDetalle SET tbl_FacturaDetalle.CANTIDAD = $cant , ".
	     "tbl_FacturaDetalle.MONTO = $fltMontoBruto, ".
             "tbl_FacturaDetalle.MONTO_FIJO = $fltMontoDescFijo, ".
             "tbl_FacturaDetalle.MONTO_PROMOCION = $fltMontoDescPromocion, ".
             "tbl_FacturaDetalle.MONTO_COMPETENCIA = $fltMontoDescCompetencia ".
             "WHERE tbl_FacturaDetalle.ID_FACTURA = '$strIdFactura' ".
             "AND tbl_FacturaDetalle.COD_ARTICULO = '$strCodArticulo';";
    
    
    if (!executeConexion($conexion, $update)) {
        die('Error: ' . odbc_error());
    }
    closeConexion($conexion);
    
    updateArticuloBodega($strCodArticulo,$cant - $unidadesAnterior);
    
}

    ?>
